/**
 * Insira em seu campo INPUT: onkeypress="maskField(this, nomeDaMascara)"
 * exemplo: onkeypress="maskField(this, maskNumber)"
 */
function maskDocument(o, f) {
	if (f == "CPF") {
		v_obj = o
		v_fun = maskCpf
		setTimeout("maskExecute()", 1)
	} else if (f == "CNPJ") {
		v_obj = o
		v_fun = maskCnpj
		setTimeout("maskExecute()", 1)
	}
}

function maskField(o, f) {
	v_obj = o
	v_fun = f
	setTimeout("maskExecute()", 1)
}

function maskExecute() {
	v_obj.value = v_fun(v_obj.value);
}

function maskNumber(v) {
	return v.replace(/\D/g, "");
}

function maskPhoneShort(v) {
	v = v.replace(/\D/g, "") // Remove tudo o que n�o � d�gito
	v = v.replace(/(\d{4})(\d)/, "$1-$2") // Coloca h�fen entre o quarto e o quinto d�gitos
	return v;
}

function maskPhoneFull(v) {
	v = v.replace(/\D/g, "") // Remove tudo o que n�o � d�gito
	v = v.replace(/^(\d\d)(\d)/g, "($1) $2") // Coloca par�nteses em volta dos dois primeiros d�gitos
	v = v.replace(/(\d{4})(\d)/, "$1-$2") // Coloca h�fen entre o quarto e o quinto d�gitos
	return v;
}

function maskBirthday(v) {
	v = v.replace(/\D/g, "") // Remove tudo o que n�o � d�gito
	v = v.replace(/(\d{2})(\d)/, "$1/$2") // Coloca um ponto entre o terceiro e o quarto d�gitos
	v = v.replace(/(\d{2})(\d)/, "$1/$2") // Coloca um ponto entre o terceiro e o quarto d�gitos de novo (para o segundo bloco de n�meros)
	return v;
}

function maskCpf(v) {
	if (v.length > 14) {
		v = v.substr(0, 14);
	}
	v = v.replace(/\D/g, "") // Remove tudo o que n�o � d�gito
	v = v.replace(/(\d{3})(\d)/, "$1.$2") // Coloca um ponto entre o terceiro e o quarto d�gitos
	v = v.replace(/(\d{3})(\d)/, "$1.$2") // Coloca um ponto entre o terceiro e o quarto d�gitos de novo (para o segundo bloco de n�meros)
	v = v.replace(/(\d{3})(\d{1,2})$/, "$1-$2") // Coloca um h�fen entre o terceiro e o quarto d�gitos
	return v
}

function maskCep(v) {
	v = v.replace(/D/g, "") // Remove tudo o que n�o � d�gito
	v = v.replace(/^(\d{5})(\d)/, "$1-$2") // Esse � t�o f�cil que n�o merece explica��es
	return v
}

function maskCnpj(v) {
	if (v.length > 18) {
		v = v.substr(0, 18);
	}
	v = v.replace(/\D/g, "") // Remove tudo o que n�o � d�gito
	v = v.replace(/^(\d{2})(\d)/, "$1.$2") // Coloca ponto entre o segundo e o terceiro d�gitos
	v = v.replace(/^(\d{2})\.(\d{3})(\d)/, "$1.$2.$3") // Coloca ponto entre o quinto e o sexto d�gitos
	v = v.replace(/\.(\d{3})(\d)/, ".$1/$2") // Coloca uma barra entre o oitavo e o nono d�gitos
	v = v.replace(/(\d{4})(\d)/, "$1-$2") // Coloca um h�fen depois do bloco de quatro d�gitos
	return v
}